/// @author Sofien Bouaziz 
/// @author Andrea Tagliasacchi
/// @author Honghua Li

#pragma once

#include "NanoflannKdTree.h"

#include "SurfaceMeshModel.h"
using namespace SurfaceMesh;

class ICP{
public:

	ICP(SurfaceMeshModel* m1, SurfaceMeshModel* m2);
	~ICP();

	void execute();

public:
	SurfaceMeshModel *m1, *m2;
	NanoflannKdTree3d *target_kdtree;

	int it;
	double maxdist;
	double stop;
	bool is_point_to_plane;

};
